High efficiency video coding (HEVC) is a new-generation international video coding standard developed by the Joint Collaborative Team on Video Coding (JCT-VC). The standard is based on the conventional hybrid coding approach. According to HEVC, a picture is divided into multiple non-overlapped Largest Coding Units (LCUs), also called Coding Tree Blocks (CTBs). The pixel values of a Coding Unit (CU) are predicted spatially or temporally. The resulting residual signal is transformed for further redundancy removal. The transform coefficients are then quantized and entropy coded. The reconstructed picture is recovered from the decoded residual signal and the prediction signal. After reconstruction, the reconstructed picture is further processed by in-loop filtering to reduce coding artifacts.
Prior to the adoption of HEVC Test Model 7 (HM-7), an in-loop filtering technique, named Adaptive Loop Filter (ALF), was included in the test model. To optimize the performance, ALF uses Wiener filtering techniques to derive filter coefficients. Furthermore, multiple filters may be used for different picture regions. The coefficients are coded in Adaptation Parameter Set (APS), and On/Off control flags are coded in CTU level syntax elements. The filter shape is 9×7 cross with a 3×3 square in the center as shown in FIG. 1. Due to the symmetry property of this 9×7 filter, only half of the coefficients need to be coded.
FIG. 2 illustrates an exemplary adaptive Inter/Intra video coding system incorporating in-loop processing. The input picture is coded by either Intra Prediction (210) or Inter Prediction (i.e., Motion Estimation/Motion Compensation 212). For inter-prediction, Motion Estimation (ME)/Motion Compensation (MC) 212 is used to provide prediction data based on video data from other picture or pictures. Switch 214 selects Intra Prediction 210 or inter-prediction data and the selected prediction data is supplied to Adder 216 to form prediction errors, also called residues. The prediction error is then processed by Transform/Quantization (T/Q) 218. The transformed and quantized residues are then coded by Entropy Encoder 222 to form a video bitstream corresponding to the compressed video data. The bitstream associated with the residues is then packed with side information such as motion, mode, and other information associated with the image area. The side information may also be subject to entropy coding to reduce required bandwidth. In the Intra mode, a reconstructed block may be used to form Intra prediction of spatial neighboring block. Therefore, a reconstructed block from REC 228 may be provided to Intra Prediction 210. When an inter-prediction mode is used, a reference picture or pictures have to be reconstructed at the encoder end as well. Consequently, the transformed and quantized residues are processed by Inverse Quantization/Inverse Transform (IQ/IT) 226 to recover the residues. The residues are then added back to prediction data 236 at Reconstruction (REC) 228 to reconstruct video data. The reconstructed video data can be stored in Reference Picture Buffer 234 and used for prediction of other frames.
As shown in FIG. 2, incoming video data undergoes a series of processing in the encoding system. The reconstructed video data from REC 228 may be subject to various impairments due to a series of processing. Accordingly, various in-loop processing is applied to the reconstructed video data before the reconstructed video data are stored in the Reference Picture Buffer 234 in order to improve video quality. In-loop filtering including deblocking (DF) processing module 230, Sample Adaptive Offset (SAO) processing module 231, and Adaptive Loop Filter (ALF) 232 have been developed to enhance picture quality. The in-loop filter information may have to be incorporated in the bitstream so that a decoder can properly recover the required information. In FIG. 2, ALF 232 is applied after the reconstructed video from REC 228 is processed by DF 230 and SAO 231. Nevertheless, ALF 232 may also be applied to the reconstructed video from REC 228 or ALF 232 is applied after the reconstructed video from REC 228 is processed by DF 230.